package Algorithm.SortAlgorithmDome;

/**
 * ClassName:SelectionSort001
 * Package:Algorithm.SortAlgorithmDome
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/4-12:35
 * @Version:v1.0
 */
public class SelectionSort001 {
    /*选择排序*/
    /*
     * 从0索引开始,拿着每一个索引上的元素跟后面的元素依次比较,小的放前面,大的放后面
     * 以此类推
     * */
    public static void main(String[] args) {
        //定义数组
        int[] arr = {2, 4, 5, 3, 1};
        //利用选择排序让数组变成 1 2 3 4 5
//        //从 0 索引开始,跟后面的数据进行比较
//        for (int i = 0+1; i < arr.length; i++) {
//            if (arr[0]>arr[i]){
//                int temp =arr[0];
//                arr[0] = arr[i];
//                arr[i] = temp;
//            }
//        }

        selectionSort(arr);
        //遍历数组
        getPrintArr(arr);
    }

    private static void selectionSort(int[] arr) {
        //外循环：i表示这一轮中,我拿着哪个索引上的数据跟后面的数据进行比较并交换
        for (int i = 0; i < arr.length-1; i++) {
            //内循环：每一轮我要干的事情
            //拿着i跟i后面的数据进行比较交换
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }

        }
    }

    private static void getPrintArr(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
